body {
    font-weight: 400;
    /* Required padding for .navbar-fixed-top. Change if height of navigation changes. */
    padding-top: 70px;
}

/* Navbar and footer (global) styling */
.navbar-fixed-top .nav {
    padding: 15px 0;
}
.navbar {
    border-width: thin;
    -webkit-transition: .2s;
}
.navbar-white {
  background-color: white;
}
.navbar-gray {
    background-color: rgb(248,248,248);
}
.navbar a {
    color: black;
}
.navbar-fixed-top .navbar-brand {
    padding: 0 15px;
}
.navbar-header .icon-bar {
    background-color: black;
}
.navbar-nav > li > .navbar-active {
    color: #E46E2E;
}
.navbar-scroll {
  background-color: white;
    animation-duration: 2s;
    animation-name: smooth;
    -moz-box-shadow: 1px 1px 1px #999;
    -webkit-box-shadow: 1px 1px 1px #999;
    box-shadow: 1px 1px 1px #999;
}
.jupytercon-nav > li > .black-tab {
    color: black;
}
.navbar-logo {
    height: 45px;
}
.nav > li > a {
    font-size: 16px;
    padding: 12px 16px 10px;
}
.nav > li > a:hover {
    background-color: transparent;
    color: #E46E2E;
    -webkit-transition: .2s;
}
.nav > li > a:focus {
    background-color: white;
}
.nav > li > a:active {
    background-color: #F8F8F8;
}
.nav > li > a:visited {
    background-color: #F8F8F8;
}
.tab:hover {
    background-color: transparent;
    color: #E46E2E;
}
.footer {
    background-color: #979797;
}
.footer p {
    color: white;
    padding-top: 10px;
}
.footer li{
    color: white;
    display: inline-block;
    text-decoration: none;
}
.footer a {
    color: white;
    text-decoration: none;
}
.footer li::after {
    content:" |";
}
.footer li:last-of-type::after {
    content:"";
}
.footer-text {
    margin-left: 0;
    padding-left: 0;
}

/*Main logo animation on the front page of the Jupyter website */
#main-logo {
	height: calc(100% - 20px);
	margin-top: 10px;
    padding-left: 20px;
}
@-webkit-keyframes fadeIn { from { opacity:0;} to { opacity:1;} }
@-moz-keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes fadeIn { from { opacity:0;} to { opacity:1;} }
/*This entire section related to fading is for the front page with the Jupyter logo*/
.fade-in {
    -webkit-animation:fadeIn ease-in 1;  /* call our keyframe named fadeIn, use animation ease-in and repeat it only 1 time */
    -moz-animation:fadeIn ease-in 1;
    animation:fadeIn ease-in 1;

    -webkit-animation-duration:1s;
    -moz-animation-duration:1s;
    animation-duration:1s;

    -webkit-animation-fill-mode:forwards;  /* this makes sure that after animation is done we remain at the last keyframe value (opacity: 1)*/
    -moz-animation-fill-mode:forwards;
    animation-fill-mode:forwards;

    opacity:0;  /* make things invisible upon start */
}
.fade-in.one {
    -webkit-animation-delay: 0.3s;
    -moz-animation-delay: 0.3s;
    animation-delay: 0.3s;
}

.fade-in.two {
    -webkit-animation-delay: 0.7s;
    -moz-animation-delay:0.7s;
    animation-delay: 0.7s;
}
.fade-in.three {
    -webkit-animation-delay: 1.1s;
    -moz-animation-delay: 1.1s;
    animation-delay: 1.1s;
}
.jumbotron {
    background-color: white;
    margin-top:30px;
    overflow: hidden;
}
.jumbotron img {
    margin: 0 auto;
}
.jumbotron-text {
    padding-bottom: 32px;
    text-align: center;
}
.img-container {
    height: 100%;
    margin: 0 auto;
    position: absolute;
    text-align: center;
    width: 95%;
}
.img-container img {
    vertical-align: middle;
}

/* Reusable elements */

/* Header section of each page */
.header {
    padding-bottom: 30px;
    text-align: center;
}
.header-darkgray {
  /* Only using dark gray for documentation page, add padding top to center in header */
  padding-top: 32px;
  background-color: #757575;
  color: white;
}
.header-grey {
  background-color: #F8F8F8;
}
.header-white {
  background-color: white;
}

/* Section elements */
/* Section classes used for particular sections within a page. Sections should differ in background color when used next to each other */
.section-white {
    background-color: white;
    padding: 56px 0;
}
.section-grey {
  background-color: #fafafa;
  border-bottom: 1px solid #E0E0E0;
  border-top: 1px solid #E0E0E0;
  padding: 56px 0;
}
/* Used to specifying when a section is at the top or bottom of the page to apply appropriate border */
.top-section-border {
    border-top: 1px solid #E0E0E0;
}
.bottom-section-border {
    border-bottom: 1px solid #E0E0E0;
}
.section-content {
    display: block;
    margin: 0 auto;
}
/* Icon above section header */
.section-icon {
    display: block;
    margin: 0 auto;
}
/* Header for each section */
.section-header {
    margin: 12px auto 8px;
    text-align: center;
}
/* Used for descriptions of sections underneath section headers*/
.support-paragraph {
    font-size: 15px;
    line-height: 1.5;
    margin-bottom: 16px;
    text-align: center;
}

/* Orange action button */
.orange-button {
    background-color: #E46E2E;
    border-radius: 5.82px;
    box-shadow: 0 3px #863001;
    color: white;
    display: inline-block;
    font-size: 16px;
    padding: 13px 26px;
    text-align: center;
    text-decoration: none;

}
.orange-button:hover {
    background-color: #F27624;
    color: white;
    text-decoration: none;
}
.orange-button:active, .orange-button:focus {
    background-color: #DC601C;
    color: white;
    text-decoration: none;
}

/* Jupyter Notebook highlight section on front page */
.nb-highlight-text {
    margin-top: 60px;
}
.notebook-icon {
    height: auto;
    margin-right: 12px;
    width: 60px;
}
/* Give space between the notebook features (4 features) on front page and the     img + description */
.notebook-features {
    margin-top: 32px;
}
.notebook-features p{
    padding-top: 16px;
}
.nb-desc {
    font-weight: 400;
    line-height: 1.5;
}

/* Install prompt on front page */
.install-prompt {
    background-color: #FAFAFA;
    border-bottom-color: #BDBDBD;
    border-left-style: none;
    border-style: solid;
    border-top-color: #BDBDBD;
    border-width: thin;
    border-right: 0px;
    padding: 4px 0 24px 0;
    text-align: center;
}
.prompt-header {
    margin-bottom: 16px;
}

/* Companies section for only "Currently in use" (this section acts differently than customer logos in the "About" section of the site) */

/*Section-center is used to center the companies on the home page & get rid of padding on left associated with ul*/
.section-center {
    text-align: center;
}
.companies li {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    padding: 2%;
    vertical-align: middle;
    width: 18%;
}
.companies .col img{
    display: block;
    width: 100%;
    max-height: 60px;
}
.greydout {
    -moz-opacity: .065;
    -webkit-opacity: 0.065;
    opacity: 0.65;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -ms-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease;
}
.greydout:hover {
    -webkit-opacity: 1;
    -moz-opacity: 1;
    opacity: 1;
}

/* JupyterHub section on front page */
/* Feature-middle is for the JupyterHub features that are in the middle that need to be offset to sit on the track */
.feature-middle {
    margin-top: 40px;
}
.hubfeature {
    text-align: center;
}
.hubfeature img {
    margin: 0 auto;
}
.hubfeatures {
    background: url("../assets/line.svg");
    background-position:  top center;
    background-repeat: no-repeat;
    /* Padding that is used to make the hubfeature circles sit on track */
    padding-top: 48px;
}

/* Architecture section on front page */
.arcfeature {
    background-color: white;
    border: 1px solid #CCC;
    border-radius: 5px;
    height: 300px;
    margin: 0 auto;
    text-align: center;
    width: 300px;
}
.arcfeature .front img, .arcfeature .front2 img, .arcfeature .front3 img {
    margin-bottom: 40px;
    margin-top: 15px;
}
.arcfeature .back p {
    margin-top: 40px;
}
/* Specific grey button used on each card in the Architecture section on the front page of the site */
.arc-button {
    background-color: #8D8D8D;
    border-radius: 5.82px;
    box-shadow: 0 3px #595959;
    color: white;
    font-size: 20px;
    padding: 8px 26px;
    text-decoration: none;
}

#arcfeature1 a:hover, #protocol a:hover, #kernel a:hover {
    background-color: #DB5106;
    box-shadow: 0 3px #863001;
}
.card {
    display: block;
    height: 100%;
    margin: 0 auto;
    text-align: center;
}
/* Used to make cursor turn to link specific cursor when hovering over architecture buttons */
.bt, .bt1, .bt2 {
    cursor: default;
}

/* Styling for each card in the architecture section on front page. Each card needs it's own front class to work with the javascript associated with the cards */
.card .front, .card .front2, .card .front3 {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
    height: 275px;
    position: absolute;
    text-align: center;
    -webkit-transition: -webkit-transform 0.3s linear 0s;
    transition: transform 0.3s linear 0s;
    width: 275px;
}
.flipped {
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
}
.content-back p{
    margin-bottom: 16px;
    margin-top: 10px;
}
.card .back{
    text-align: center;
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
}
.arcfeature a {
    color: white;
    text-decoration: none;
}
.arcfeature img {
    margin: 0 auto;
    padding-bottom: 5%;
    padding-top: 1%;
}
.arcfeature {
    display: inline-block;
}

/*About Page */
/* Used to position the replacement SVG image when a screen is too small for the D3 visualization of contributors */
#visualization svg{
    display: block;
    margin: 0 auto;
}

/* .Card-header, .card-info, .card-link, and .material are used for cards within the steering council section of the page. */
.council-member-photo {
    width: 200px;
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
    margin-top: 0px;
    margin-left: -15px;
}
.card-header {
    float:left;
    font-size: 16px;
    margin-top: 10px;
    text-align: left;
}
.card-info {
    float:left;
    font-size: 13px;
    margin-top: 0;
    text-align: left;
}
.card-link a {
    color: #F27624;
    float: left;
    font-size: 15px;
    line-height: 1;
    text-align: left;
    text-transform: uppercase;
}
.card-link a:hover {
    text-decoration: none;
}
.material {
    background: #fff;
    border-radius: 2px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
    display: inline-block;
    height: 290px;
    margin: 1rem;
    position: relative;
    transition: all 0.2s ease-in-out;
    width: 200px;
}

/* Styling for the Sponsor logos on About page*/
.sponsor {
    margin: 16px 0;
}
.company-logo {
    height: auto;
    width: 75%;
}

/* Used to style the clickable tabs within the governance section */
.clickable{
    cursor: default;
    display: inline-block;
    font-size: 20px;
    margin-bottom: 10px;
    margin-left: 20px;
    text-decoration: none;
}
.clickable:hover {
    color: #E46E2E
}

/* Active state when a tab in the governance section is selected */
.menuClicked {
    color: #E46E2E;
}

/* Used to style the description of a particular tab within the governance section */
.governance-desc {
    border-color: black;
    border-color: #979797;
    border-radius: 5px;
    border-style: solid;
    border-width: thin;
    min-height: 100px;
    padding: 30px;
    transition: all 1s;
}

/* Donate Page */
.donate-box {
    background-color: white;
    border-color: #979797;
    border-radius: 8px;
    border-style: solid;
    border-width: 1px;
    height: 500px;
    height: 20%;
    margin-top: 5%;
    padding: 32px;
}

/*Community Resources Page */

/* Resource section is used to create a new resource on the community resources page. */
.resource-section {
    border-bottom: 1px solid #E8E8E8;
    padding: 16px;
    vertical-align: middle;
}
/* Used to specify that the last resource should not have a border underneath it's content */
.resource-section:last-child {
    border-bottom: none;
}
.resource-text {
    text-align: left;
    vertical-align: middle;
}
.resource-logo {
    display: block;
    height: 80px;
    margin: 0 auto;
}
.resource-name {
     margin-top: 6px;
}
.resource-button {
    margin-top: 32px;
    text-align: center;
}
.resource-button a {
    background-color: #E46E2E;
    border-radius: 5.82px;
    box-shadow: 0 3px #863001;
    color: white;
    letter-spacing: 1px;
    padding: 13px 60px;
    text-decoration: none;
    -webkit-transition: .2s;
}
.resource-button a:hover {
    background-color: #F27624;
}

/* JupyterCon Jumbotron Styling */
.jupytercon-navbar {
    background-color: transparent;
}
.jupytercon-nav > li > a{
    color: white;
}
.jupytercon-nav > li > a:active, .jupytercon-nav > li > a:focus {
  background-color: transparent;
}
.jupytercon-jumbotron {
    background-image: url(../assets/jupytercon-ny.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    width: auto;
    margin-top: 0px;
    position: relative;
    top: -70px;
    margin-bottom: -70px;
}
#jupytercon-logo {
    display: block;
    margin: 0 auto;
    width: 500px;
    margin-top: 100px;
}
.jupytercon-header, .jupytercon-subheader  {
    color: white;
    text-align: center;
}
.jupytercon-header {
    margin-bottom: 16px;
}
.jupytercon-subheader {
    margin-top: 8px;
    margin-bottom: 0px;
}
.jupytercon-button {
    display: block;
    text-align: center;
    margin-top: 40px;
    margin-bottom: 20px;
}
.navbar-toggle > .white-icon-bar {
    background-color: white;
}
.footer-text {
    font-size: 16px;
}

/* Bootstrap Breakpoint Media Queries */
/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  .section-white, .section-grey {
    padding: 5% 0;
  }
}
@media (max-width: 1200px) {
    .nb-highlight-text {
        margin-top: 32px;
    }
    .notebook-features .language-set h2{
        padding-top: 0;
    }
    .notebook-features #feature {
        padding-top: 4px;
    }
    .notebook-preview p {
        font-size: 15pt;
        line-height: 25pt;
    }
    .companies li{
        width:23%;
    }
}
/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {
    p {
        font-size: 16px;
        font-weight: 400;
        line-height: 1.375;
    }
    h4 {
        font-size: 18px;
        font-weight: 500;
        line-height: 1.22;
    }
    h3 {
        font-size: 28px;
        font-weight: 500;
        line-height: 1.25;
    }
    h2 {
        font-size: 36px;
        font-weight: 500;
        line-height: 1.25;
    }
    h1 {
        font-size: 48px;
        font-weight: 500;
        line-height: 1.05em;
    }
    .follow {
        float: right;
        margin-top: 15px;
    }
}
@media (max-width: 992px) {
    p {
        font-size: 16px;
        font-weight: 400;
        line-height: 1.25em;
    }
    h4 {
        font-size: 18px;
        font-weight: 500;
        line-height: 1.11em;
    }
    h3 {
        font-size: 22px;
        font-weight: 500;
        line-height: 1.136em;
    }
    h2 {
        font-size: 26px;
        font-weight: 500;
        line-height: 1.153em;
    }
    h1 {
        font-size: 32px;
        font-weight: 500;
        line-height: 1.25em;
    }
    .nb-highlight-text {
        text-align: center;
    }
    .notebook-features {
        margin-top: 0;
    }
    .language-set #feature {
        display: block;
    }
    .notebook-preview img {
        margin: 0 auto;
    }
    .notebook-icon {
        display: block;
        margin: 0 auto;
        padding-bottom: 10px;
    }
    .notebook-preview h1 {
        text-align: center;
    }
    .notebook-features  img {
        margin: 0 auto;
        width: 125px;
    }
    .notebook-features {
        text-align: center;
    }
    .notebook-feature {
        padding-top: 40px;
    }
    .hubfeatures{
        background: none;
    }
    #data {
        padding-top: 40px;
    }
    .hubfeature h2 {
        text-align: center;
    }
    #hublogo {
        width: 60%;
    }
    .architecturedescription h2 {
        text-align: center;
    }
    .architecturedescription p {
        text-align: center;
    }
    .donate-box {
        margin-top: 10%;
    }
    .resource-section {
        height: 400px;
        padding: 10px 0 30px;
    }
    .resource-section:nth-child(even) {
        border-left: 1px solid #E8E8E8;
    }
    .resource-section img {
        margin-top: 15px;
        padding-bottom: 0;
    }
    .resource-content {
        padding-top: 48px;
    }
    .resource-text {
        padding-top: 0;
        text-align: center;
    }
    .navbar-logo {
      height: 36px;
      margin-top: 4px;
    }
    .nav>li>a {
        font-size: 13px;
        letter-spacing: .8px;
        padding-left: 8px;
        padding-right: 8px;
    }
    .follow {
        float: left;
        margin-bottom: 20px;
    }
    .navbar-text {
        margin-left: 0px;
    }
}
/* Small devices (tablets, 768px and up) */
@media(min-width:768px) {

    .navbar-fixed-top .navbar-brand {
        padding: 15px 0;
    }
    .tab {
        text-align: center;
    }
    .navbar-toggle {
        margin-top: 20px;
    }
}
@media (max-width: 768px) {
    p {
        font-size: 16px;
        font-weight: 400;
        line-height: 1.25em;
    }
    h4 {
        font-size: 18px;
        font-weight: 500;
        line-height: 1.11em;
    }
    h3 {
        font-size: 22px;
        font-weight: 500;
        line-height: 1.136em;
    }
    h2 {
        font-size: 26px;
        font-weight: 500;
        line-height: 1.153em;
    }
    h1 {
        font-size: 32px;
        font-weight: 500;
        line-height: 1.25em;
    }
    .nav>li>a {
        letter-spacing: 1px;
        padding-left: 16px;
        padding-right: 16px;
    }
    .navbar-header {
        margin-bottom: 0;
    }
    .navbar-toggle {
        padding-top: 10px;
    }
    .navbar-logo {
        height: 40px;
        margin-top: 6px;
    }
    .companies li {
        width: 30%;
    }
    body {
        padding-top: 50px;
    }
    .jumbotron {
        margin-right: 5%;
    }
    .jupytercon-jumbotron {
        margin-right: 0px;
    }
}
/* Extra small devices (these are mostly fixes to make sure elements act correctly to look good) */
@media (min-width: 509px) {
    .footer ul {
        float: left;
    }
}
@media(max-width:509px) {
    .install-button {
        margin-top: 20px;
    }
    .items {
        min-height:0;
        padding:10px;
    }
    .follow {
        float: none;
        display: block;
        margin: 0 auto;
    }
    .footer {
        padding-bottom: 15px;
        text-align: center;
    }
    .footer ul {
        float: left;
    }
}
